using System;
using System.Collections.Generic;
using System.Text;

using GURUCORE.Framework.Core.Data;

namespace GURUCORE.Framework.Core.Data
{
    // TODO: GURUCORE: need to declare this class more useful

    /// <summary>
    /// G: all TableMapper must contain Add Delete Get Save object. This class is not fully completed.
    /// </summary>
    public interface ITableMapper     
    {
        DTOBase AddObject(DTOBase p_oObject);

        int DeleteObject(int p_nObjectID);
        int DeleteObject(DTOBase p_oObject);
        int DeleteObjects(string p_sColumn, object p_Value);        
        
        DTOBase GetObject(Type p_ObjectType, int p_nObjectID, params string[] p_arrColumn);
        DTOBase[] GetObjects(string p_sColumn, object p_Value);       
        
        int SaveObject(DTOBase p_oDTO);
        int SaveObjects(DTOBase[] p_arrObject);
    }
}
